package com.ruoyi.examation.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.ruoyi.common.annotation.Excel;

import lombok.Data;
import lombok.ToString;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@ToString(callSuper = true)
public class ExamRegistrationUser {

    /**
     * 序号
     */
    @Excel(name = "序号" ,width = 10)
    private String index;

    /**
     * 用户账号
     */
    @Excel(name = "用户账号",width = 20)
    private String userName;

    /**
     * 用户昵称
     */
    @Excel(name = "用户姓名",width = 20)
    private String nickName;

    /**
     * 用户邮箱
     */
    private String email;

    /**
     * 手机号码
     */
    @Excel(name = "手机号码",width = 30)
    private String phonenumber;

    @Excel(name = "考试时段",width = 50)
    private String examScheduleName;

    @Excel(name = "人员报名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date registrationTime;

    /**
     * 用户性别（0男 1女 2未知）
     */
    private String sex;

    /**
     * 头像地址
     */
    private String avatar;

    /**
     * 帐号状态（0正常 1停用）
     */
    private String status;

    /**
     * 部门ID
     */
    private Long deptId;

    /**
     * 用户类型（00系统用户）
     */
    private String userType;

    // ========== 考试信息 ==========
    
    /**
     * 考试名称
     */
    private String examName;

    /**
     * 考试描述
     */
    private String examDescription;

    /**
     * 考试时长（分钟）
     */
    private Long examDuration;

    /**
     * 总分
     */
    private BigDecimal totalScore;

    /**
     * 及格分数
     */
    private BigDecimal passScore;

    /**
     * 考试状态（0待发布 1已发布 2进行中 3已结束）
     */
    private String examExamStatus;

    // ========== 考场信息 ==========
    
    /**
     * 考场名称
     */
    private String venueName;

    /**
     * 考场地址
     */
    private String venueAddress;

    /**
     * 考试日期
     */
    private Date examDate;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 考场容量
     */
    private Long capacity;

    /**
     * 已报名人数
     */
    private Long registeredCount;

    /**
     * 考场状态（0可报名 1已满员 2已关闭）
     */
    private String venueStatus;
}
